#!/usr/bin/perl -w
use strict;
use diagnostics;
use feature qw(switch say);
require "./head.pl";
require "./enable_debug.pl";
require "./comments.pl";

# 
# Program to insert comments
#
say 'massive automation';
sub recurse($) {
    my($path) = @_;

    ## append a trailing / if it's not there
    $path .= '/' if($path !~ /\/$/);

    ## print the directory being searched
    print "DIR: ", $path,"\n";

    $path =~ s/(\s)/\\$1/g;
    print "DIR=: ", $path,"\n";


    ## loop through the files contained in the directory
    for my $eachFile (glob("$path".'*')) {
        print "Item:", $eachFile,"\n";

        ## if the file is a directory
        if( -d "$eachFile") {
            ## pass the directory to the routine ( recursion )
            recurse($eachFile);
        } else {

            ## print the file ... tabbed for readability
            if ($eachFile =~ m/.*\.(cpp|c)$/) {
                uncomment($eachFile);
                ahead($eachFile);
                comment($eachFile);
            }
        }
    }
}

## initial call ... $ARGV[0] is the first command line argument
recurse($ARGV[0]);

